闲话 22.10.1

闲话

这才是真正的闲话

最后讲了一下求导和积分
但是感觉没几个人听
听了也没几个人会
——by crs_line

如果有不会的东西都可以来找我!
给solution引流
但是高数很多东西真的比较基础了
要学的也不多
求导 积分 多元函数 高重积分 级数 然后没了

某人在祂今天未公开的闲话里说我不放图 我也是放的

image

是四个可爱!虽然略微Badend


桜が泣いている

わたしたちの春は

紛い物、紛い物だから

どうせ知ってたんだろう

わたしあなたから逃げないよ

I'll just be forever a phantom.

杂题

CF1667E

对于所有点数为 n 的树,如果其满足对于所有 i[2,n],与 i 相连的 j 中有且只有一个点 j 满足 j<i ,那么我们称其为好树。对于 1n 每个点求出来有多少好树满足重心为 i。这里重心定义为删去这个点后形成的所有连通块大小均小于 n12

3n2×105n 为奇数(所以不存在树有多个重心的情况)

“有且只有一个点 j 满足 j<i”这个东西可以通过强制以 1 为根来生成树来避免判定。
于是我们对 i 需要求的就是 以 1 为根, i 的子树大小 n+12,其余点的子树大小 <n+12 的树的数量。

先考虑第一个条件。
我们设 fii 节点的子树大小 n+12 的树的数量。
我们考虑子树中有 j 个点,然后选出除自己外的 j1 个点一共 (n1j1) 种可能;不在子树内的节点每个节点需要一个编号比他小的父亲,可能性是 (nj1)! 的;第 i 个点需要一个父亲,可能性是 (i1) 的;在子树中的 j1 个点,每个点需要一个父亲,可能性是 (j1)! 的。
m=n+12,于是

fi=j=mni+1(nij1)(nj1)!(i1)(j1)!=j=mni+1(nj1)!(i1)(j1)!(ni)!(j1)!(nij+1)!=(ni)!(i1)j=mni+1(nj1)!(nij+1)!()=(ni)!(i1)!j=mni+1(nj1nij+1)((i2)! )=(ni)!(i1)!j=mni+1(nj1i2)=(ni)!(i1)!(nmi1)=(ni)!(nm)!(nim+1)!

然后我们 O(1) 求出了 fi

然后求答案。设 gii 点的答案,我们有

gi=fij=i+1ngji

gifi 减去 i 子树内存在重心 j 情况的答案。j 是重心且在 i 子树内的可能性为 1i ,因此有转移式。

于是 O(n) 求解答案。

code
#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for (register int (i) = (a); (i) <= (b); ++(i))
#define pre(i,a,b) for (register int (i) = (a); (i) >= (b); --(i))
const int N = 2e5 + 10, mod = 998244353;
int jc[N<<1], inv[N<<1], n, m, f[N], ans[N], sum;
int qp(int a, int b) { int ret = 1; while (b) { if (b & 1) ret = 1ll * ret * a % mod; a = 1ll * a * a % mod; b >>= 1; } return ret; }
signed main() {
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
    cin >> n; m = (n + 1) / 2;

    jc[0] = inv[0] = 1;
    rep(i,1,n) jc[i] = 1ll * jc[i-1] * i % mod;
    inv[n] = qp(jc[n], mod - 2);
    pre(i,n-1,1) inv[i] = 1ll * inv[i+1] * (i+1) % mod;

    pre(i,n-m+1,1) ans[i] = (1ll * jc[n-i] * jc[n-m] % mod * inv[n-i-m+1] % mod - 1ll * sum * qp(i, mod - 2) % mod + mod) % mod, sum = (sum + ans[i]) % mod;
    rep(i,1,n) cout << ans[i] << ' ';
}
posted @   joke3579  阅读(74)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示